import axios from "axios";
import { showToast } from "vant";
import { useUserStore } from "../store/userStore";

//1、创建axios实例 基地址 超时时间
//2、请求拦截器 添加 token
//3、响应拦截器 错误处理
//4、导出实例
//5、使用 request 替换axios （基地址删掉）
const request = axios.create({
    baseURL: 'http://localhost:3000',
    timeout: 5000
})

// 请求拦截器
request.interceptors.request.use(
//todo:添加token

    (config) => {
        const store = useUserStore()
        if (store.user.token) {
            config.headers.Authorization = `Bearer ${store.user.token}`
        }
        return config
    },
    (error) => {
        //错误处理
        return Promise.reject(error)
    }
)


request.interceptors.response.use(
    (response) => {
        if (response.data.success) {
            return response.data
        }else{
            showToast(response.data.message)
        }
    },
    (error) => {
        showToast('请求失败')
        return Promise.reject(error)
    }
)

export default request